Android Preference Activity 와 Preference Fragment 상세 설명 및 간단 한 인 스 턴 스
머리말
돌아 다 니 면서 안 드 로 이 드 로 돌 아 왔 습 니 다.잡담 은 그만 하 세 요.안 드 로 이 드 원생 의 Settings 애플 리 케 이 션 을 참고 하여 Preference Activity,Preference Fragment,headers 의 사용 을 소개 합 니 다.
PreferenceActivity
우 리 는 먼저 간단 한 예 를 통 해 Preference Activity 의 사용 을 배 워 보 자.
preferences_scenario_1.xml
우 리 는 먼저 xml 파일 을 통 해 간단 한 preference 인터페이스,res/xml/preference 를 정의 합 니 다.scenario_1.xml:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
<PreferenceScreen
android:summary="@string/next_screen_title"
android:title="@string/next_screen_summary" >
<CheckBoxPreference
android:key="@+id/next_screen_checkbox_preference"
android:summary="@string/checkbox_summary"
android:title="@string/checkbox_title" />
</PreferenceScreen>
<PreferenceCategory android:title="@string/category_title"
android:summary="@string/category_title">
<CheckBoxPreference
android:defaultValue="false"
android:key="pref_otificationskey"
android:title="@string/checkbox_title" >
</CheckBoxPreference>
<ListPreference
android:entries="@array/people_name"
android:entryValues="@array/people_value"
android:key="pref_SyncFrequencykey"
android:summary="@string/list_summary"
android:title="@string/list_title" >
</ListPreference>
</PreferenceCategory>
</PreferenceScreen>
관련 된 string.xml 내용 은 다음 과 같 습 니 다.
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="next_screen_title"> </string>
<string name="next_screen_summary"> </string>
<string name="checkbox_summary"> </string>
<string name="checkbox_title"> ?</string>
<string name="category_title"> </string>
<string name="list_title"> </string>
<string name="list_summary"> </string>
</resources>
Preference ActivityAndroid 3.0 이전 에는 Preference Activity 가 Preference Screens 를 보 여 주 는 데 사 용 됐 기 때문에 Android 3.0 이전 시스템 을 지원 하려 면 Preference Activity 클래스 를 계승 하여 Preference Screens 를 보 여 줘 야 합 니 다.예제 코드 는 다음 과 같다.
import android.os.Bundle;
import android.preference.PreferenceActivity;
public class CustomPreferenceActivity extends PreferenceActivity{
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preference_scenario_1);
}
}
oncreate 방법 을 다시 쓰 고 addPreferences FromResource 방법 으로 xml 레이아웃 파일 을 불 러 옵 니 다.AndroidManifest.xml 에서 이 Custom Preference Activity 를 설명해 야 한 다 는 것 을 잊 지 마 세 요.
주의:
Preference Activity 의 addPreferences FromResource 방법 은 Android 3.0(API LEVEL 11)이후 폐기 되 었 습 니 다.Android 3.0 이후 Preference Fragment 를 사용 하여 Preference Screen 을 보 여 주 는 것 을 추천 합 니 다.
시범 을 보이다
다른 activity 에 서 는 startActivity 를 통 해 이 Preference Activity 를 시작 할 수 있 습 니 다.데모 그림 은 다음 과 같 습 니 다.
PreferenceFragment
xml 레이아웃 파일
xml 파일 은 위의 Preference Activity 의 레이아웃 파일 을 다시 사용 할 수 있 습 니 다.
Preference Fragment
예제 코드 는 다음 과 같다.
import android.os.Bundle;
import android.preference.PreferenceFragment;
public class CustomPreferenceFragment extends PreferenceFragment{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preference_scenario_1);
}
}
환경 설정 활동 관리 프 래 그 먼 트예제 코드 는 다음 과 같다.
import android.os.Bundle;
import android.preference.PreferenceActivity;
public class CustomPreferenceActivity extends PreferenceActivity{
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
getFragmentManager().beginTransaction().replace(android.R.id.content, new CustomPreferenceFragment()).commit();
}
}
어울리다안 드 로 이 드 3.0 이전 시스템 과 동시에 어 울 리 기 위해 서 는 Build.VERSION.SDK 를 통 해INT 는 코드 에서 Preference Screen 을 어떻게 나타 내 는 지 자동 으로 판단 합 니 다.예제 코드 는 다음 과 같다.
import android.os.Build;
import android.os.Bundle;
import android.preference.PreferenceActivity;
public class CustomPreferenceActivity extends PreferenceActivity{
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB) {
addPreferencesFromResource(R.xml.preference_scenario_1);
} else {
getFragmentManager().beginTransaction().replace(android.R.id.content, new CustomPreferenceFragment()).commit();
}
}
}
읽 어 주 셔 서 감사합니다. 여러분 에 게 도움 이 되 기 를 바 랍 니 다.본 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Bitrise에서 배포 어플리케이션 설정 테스트하기이 글은 Bitrise 광고 달력의 23일째 글입니다. 자체 또는 당사 등에서 Bitrise 구축 서비스를 사용합니다. 그나저나 며칠 전 Bitrise User Group Meetup #3에서 아래 슬라이드를 발표했...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.